package com.winit.issue.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
@Entity
@Table(name = "matrix_issue")
@DynamicUpdate
@DynamicInsert
public class Issue implements Serializable{
    @Id
    @Column(name = "id")
    private String id;
    @Column(name = "number")
    private String number;  //编号
    @Column(name = "user")
    private String user;  //用户
    @Column(name = "action")
    private String action;  //做什么
    @Column(name = "description")
    private String description;  //详述

    @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    @Column(name = "create_time")
    private Date createTime;
    @Column(name = "creator_account")
    private String creatorAccount;  //创建者
    @Column(name = "to_account")
    private String toAccount;  //指派给
    @Column(name = "type")
    private String type;  //所属类型
    @Column(name = "brd_id")
    private String brdId;  //所属brd，可为空
    @Column(name = "status")
    private String status;  //状态
    @Column(name = "creator_name")
    private String creatorName;  //
    @Column(name = "group_tag")
    private String groupTag;  //分组标题
    @Column(name = "update_time")
    @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date updateTime;//更新时间
    @Column(name = "content")
    private String content;
    @Column(name = "need_id")
    private String needId;

    @Transient
    private String statusExclue;
    @Transient
    private String keyword;

    @Transient
    private Integer reqCount;

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }

    public String getAction() {
        return action;
    }

    public void setAction(String action) {
        this.action = action;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getCreatorAccount() {
        return creatorAccount;
    }

    public void setCreatorAccount(String creatorAccount) {
        this.creatorAccount = creatorAccount;
    }

    public String getToAccount() {
        return toAccount;
    }

    public void setToAccount(String toAccount) {
        this.toAccount = toAccount;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getBrdId() {
        return brdId;
    }

    public void setBrdId(String brdId) {
        this.brdId = brdId;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getCreatorName() {
        return creatorName;
    }

    public void setCreatorName(String creatorName) {
        this.creatorName = creatorName;
    }

    public String getGroupTag() {
        return groupTag;
    }

    public void setGroupTag(String groupTag) {
        this.groupTag = groupTag;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getStatusExclue() {
        return statusExclue;
    }

    public void setStatusExclue(String statusExclue) {
        this.statusExclue = statusExclue;
    }

    public String getKeyword() {
        return keyword;
    }

    public void setKeyword(String keyword) {
        this.keyword = keyword;
    }

    public String getNeedId() {
        return needId;
    }

    public void setNeedId(String needId) {
        this.needId = needId;
    }

    public Integer getReqCount() {
        return reqCount;
    }

    public void setReqCount(Integer reqCount) {
        this.reqCount = reqCount;
    }
}
